package main

import "fmt"

/**
函数应用举例
*/
func main() {
	fmt.Println(plus(1, 2))
	fmt.Println(vals())
	fmt.Println(sum(1, 2, 3, 4))

	fmt.Println(fibonacci(4))
}

/**
普通函数
*/
func plus(a, b int) int {
	return a + b
}

/**
返回多个数值
*/
func vals() (int, int) {
	return 3, 7
}

/**
可变参数
*/
func sum(nums ...int) int {
	fmt.Print(nums, " ")
	total := 0
	for _, num := range nums {
		total += num
	}
	return total
}

/**
递归调用
举例：斐波那契数据列
*/
func fibonacci(n int) int {
	if n == 1 || n == 2 {
		return 1
	}
	return fibonacci(n-1) + fibonacci(n-2)
}
